<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    * {
      box-sizing: border-box;
    }
    .box {
      width: 560px;
      height: 400px;
      background-color: pink;
      position: relative; /* 新增：为左右按钮定位 */
      overflow: hidden;
    }
    img {
      width: 100%;
      height: 320px;
      display: block;
    }
    .bottom {
      height: 80px;
      padding: 10px 10px 0 10px;
    }
    .bottom p {
      margin: 0;
      color: white;
      margin-bottom: 10px;
    }
    .bottom-ul {
      width: 150px;
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0;
      justify-content: space-between;
      align-items: center;
    }
    .bottom-ul li {
      width: 8px;
      height: 8px;
      margin: 4px;
      border-radius: 50%;
      background: #fff;
      opacity: 0.4;
      cursor: pointer;
      transition: all 0.3s; /* 新增：过渡效果 */
    }
    li.lihover {
      width: 12px;
      height: 12px;
      opacity: 1;
    }
    /* 新增：左右按钮样式 */
    .btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 40px;
      height: 60px;
      background: rgba(0,0,0,0.5);
      color: white;
      border: none;
      font-size: 20px;
      cursor: pointer;
      z-index: 10;
    }
    .left-btn {
      left: 0;
    }
    .right-btn {
      right: 0;
    }
    .btn:hover {
      background: rgba(0,0,0,0.7);
    }
  </style>
</head>
<body>
    <div class="box">
    <!-- 新增：左右按钮 -->
    <button class="btn left-btn">&lt;</button>
    <button class="btn right-btn">&gt;</button>
    
    < img src="../../../../images/webapi/第一单元/slider01.jpg" alt="">
    <div class="bottom">
      <p>啊啊啊啊啊啊啊啊啊啊啊啊啊啊</p >
      <ul class="bottom-ul">
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
      </ul>
    </div>
  </div>
    
    <script>
const sliderData = [
      { url: '../../../../images/webapi/第一单元/slider01.jpg', title: '对人类来说会不会太超前了？', color: 'rgb(100, 67, 68)' },
      { url: '../../../../images/webapi/第一单元/slider02.jpg', title: '开启剑与雪的黑暗传说！', color: 'rgb(43, 35, 26)' },
      { url: '../../../../images/webapi/第一单元/slider03.jpg', title: '真正的jo厨出现了！', color: 'rgb(36, 31, 33)' },
      { url: '../../../../images/webapi/第一单元/slider04.jpg', title: '快来分享你的寒假日常吧~', color: 'rgb(139, 98, 66)' },
      { url: '../../../../images/webapi/第一单元/slider05.jpg', title: '李玉刚：让世界通过B站看到东方大国文化', color: 'rgb(67, 90, 92)' },
      { url: '../../../../images/webapi/第一单元/slider06.jpg', title: '哔哩哔哩小年YEAH', color: 'rgb(166, 131, 143)' },
      { url: '../../../../images/webapi/第一单元/slider07.jpg', title: '一站式解决你的电脑配置问题！！！', color: 'rgb(53, 29, 25)' },
      { url: '../../../../images/webapi/第一单元/slider08.jpg', title: '谁不想和小猫咪贴贴呢！', color: 'rgb(99, 72, 114)' },
    ]

// 初始化当前索引（修复原代码语法错误）
let currentIndex = Math.floor(Math.random() * sliderData.length);
// 获取DOM元素
const pic = document.querySelector('img');
const p = document.querySelector('p');
const bc = document.querySelector('.bottom');
const lis = document.querySelectorAll('.bottom-ul li');
const leftBtn = document.querySelector('.left-btn');
const rightBtn = document.querySelector('.right-btn');
const box = document.querySelector('.box');

// 渲染轮播图函数
function renderSlider() {
  // 移除所有li的激活状态
  lis.forEach(li => li.classList.remove('lihover'));
  // 更新图片、标题、背景色
  pic.src = sliderData[currentIndex].url;
  p.innerHTML = sliderData[currentIndex].title;
  bc.style.backgroundColor = sliderData[currentIndex].color;
  // 激活当前li
  lis[currentIndex].classList.add('lihover');
}

// 初始渲染
renderSlider();

// 定时器变量
let timer = setInterval(nextSlide, 3000); // 3秒切换一次

// 下一张函数
function nextSlide() {
  currentIndex++;
  if (currentIndex >= sliderData.length) {
    currentIndex = 0;
  }
  renderSlider();
}

// 上一张函数
function prevSlide() {
  currentIndex--;
  if (currentIndex < 0) {
    currentIndex = sliderData.length - 1;
  }
  renderSlider();
}

// 右侧按钮点击事件
rightBtn.addEventListener('click', nextSlide);

// 左侧按钮点击事件
leftBtn.addEventListener('click', prevSlide);

// 鼠标经过box暂停定时器
box.addEventListener('mouseenter', () => {
  clearInterval(timer);
});

// 鼠标离开box开启定时器
box.addEventListener('mouseleave', () => {
  timer = setInterval(nextSlide, 3000);
});
    </script>
</body>
</html>